1. Field of the Invention
The present invention relates generally to data communications networks and, more specifically, the present invention relates to multi-link trunk data communications networks using the spanning tree protocol.
2. Background Information
Data communications networks may be used to interconnect many computing resources, such as for example computers, workstations, servers, printers, modems, storage devices, etc. For example, two or more computers may be connected together through a network. Network users are able to, among other things, share files, printers and other resources, send messages and run applications on remote computers. An important part of any data communications network includes the physical components, boxes or network communications devices used to interconnect the computing resources.
FIG. 1 is an illustration of data communications network 101 including a box A 103, a box B 105 and a box C 107. Boxes A 103, B 105 and C 107 are network communication devices such as for example, bridges, switches, etc. As shown in FIG. 1, a physical link 109 is used to connect box A 103 to box B 105. Physical link 109 is coupled between port 1 of box A 103 and port 3 of box B 105. Physical link 111 is used to connect box B 105 to box C 107. Physical link 111 is coupled between port 4 of box B 105 and port 5 of box C 107. A physical link 113 is used to connect box A 103 to box C 107. Physical link 113 is coupled between port 2 of box A 103 and port 6 of box C 107.
During operation of data communications network 101, packets are broadcast and forwarded among boxes A 103, B 105 and C 107 through the physical links 109,111 and 113. For example, box A 103 may transmit a packet to box B 105 through physical link 109. After box B 105 receives the broadcast packet from box A 103, box B 105 forwards the received packet through the other ports of box B 105. Therefore, box B 105 forwards the broadcast packet from port 4 through physical link 111 to box C 107. Similarly, after box C 107 receives the broadcast packet from box B 105, box C 107 forwards the received packet through the other ports of box C 107. Therefore, box C 107 forwards the broadcast packet from port 6 through physical link 113 back to box A 107.
Even though box A 103 originated the packet received from box C 107 through physical link 113, box A 103 will nevertheless reforward the received packet back out of port 1 through physical link 109 to box B 105. Consequently, broadcast packets that are forwarded throughout a network may be replicated and rebroadcast by each box and loop continuously throughout the network and cause an undesired avalanche.
To remedy this situation, the loop in data communications network 101 may be identified and removed to prevent broadcast packets from being continuously rebroadcast. For example, assume box A 103 is determined to be a root node and that boxes B and C 105 and 107 are leaf nodes in data communications network 101. Thus, the loop in data communications network may be removed by preventing packets from being forwarded between box B 105 and box C 107. As result, broadcast packets are no longer continuously rebroadcast throughout data communications network 101. One known protocol for identifying and removing loops in a data communications network is the spanning tree protocol as described in ANSI/IEEE Standard 802.1D.
Another important factor in data communications network is the bandwidth of the connections between the boxes of the network. Bandwidth is defined to be the amount of data that can be transmitted over a link in a given period of time. As the usage of a data communications network increases, the amount of traffic that is carried by the links between the boxes of the data communications network increases. If the bandwidth of the connections between the boxes of the network is not adequate to carry all of the network traffic, network performance is compromised.
One known method of increasing the bandwidth of connections between boxes in data communications networks is the utilization of a multi-link trunk. FIG. 2 provides an illustration of a data communications network 201 including a multi-link trunk 209 coupling a box A 203 to a box B 205. FIG. 2 also shows data communications network 201 including a box C 207 coupled to box A 203 through a physical link 215. Multi-link trunk 209 includes two physical links shown as physical link 211 and physical link 213. Together, physical links 211 and 213 form the single logical link of multi-link trunk 209.
The multi-link trunk 209 coupling together boxes A 203 and B 205 includes two physical links 211 and 213 in comparison to the single physical link 215 coupling together boxes A 203 and C 207. Assuming the bandwidth of physical links 211, 213 and 215 are all equal, the bandwidth of the multi-link trunk 209 connection between boxes A 203 and B 205 is twice that of the connection between boxes A 203 and C 207. Therefore, network performance of communications between box A 203 and box B 205 is improved with multi-link trunk 209.
A problem arises when using the spanning tree protocol to remove loops in data communications networks that utilize multi-link trunks. To illustrate, FIG. 3 shows a data communications network 301 that suffers from a loop condition. Data communications network 301 includes a multi-link trunk 309 that couples a box A 303 to a box B 305. Multi-link trunk 309 includes two physical links shown as physical link 311 and physical link 313. Together, physical links 311 and 313 form the single logical link of multi-link trunk 309. Data communications network 301 also includes a box C 307 coupled to box A 303 through a physical link 317. Box C 307 is also coupled to box B 305 through a physical link 315.
During operation of data communications network 301, box A 303 may transmit a packet to box B 305 through multi-link trunk 309. After box B 305 receives the broadcast packet from box A 303, box B 305 forwards the received packet through other ports of box B 305. Therefore, box B 305 forwards the broadcast packet from port 6 through physical link 315 to box C 307. Similarly, after box C 307 receives the broadcast packet from box B 305, box C 307 forwards the received packet through other ports of box C 307. Thus, box C 307 forwards the broadcast packet from port 8 through physical link 317 back to box A 303, which is where the packet originated. Therefore, there is a loop condition in data communications network 301.
As discussed earlier, the known spanning tree protocol may be used to identify and remove loops in data communications networks. Assuming that box A 303 is determined to be a root node, the spanning tree protocol would remove the loop by preventing packets from being forwarded across physical link 315 between box B 305 and box C 307. However, the known spanning tree protocol would also detect a loop condition existing between box A 303 and box B 305 because of the multiple physical links of multi-link trunk 309. In particular, physical links 311 and 313 form a loop between box A 303 and box B 305. Consequently, the known spanning tree protocol would prevent packets from being forwarded across either physical link 311 or physical link 313, thereby transforming the high bandwidth connection of multi-link trunk 309 into an ordinary single physical link.
A method and an apparatus for interconnecting a plurality of boxes in data communications network is disclosed. In one embodiment, the first and second ports of a first box are coupled to first and second ports of a second box, respectively, to form first and second physical links between the first and second boxes. The first and second physical links form a logical link between the first and second boxes. The port identifier of the first port of the first box is included in a first configuration message that is transmitted from each one of the first and second ports of the first box to the first and second ports of the second box, respectively. Since the first and second ports of the second box both receive the first configuration message, which includes the port identifier of the first port of the first box, the first and second physical links and between the first and second boxes are considered as a single logical link in the network. Finally, a loop in the data communications network is blocked. Additional features and benefits of the present invention will become apparent from the detailed description, figures and claims set forth below.